home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xml4j.jar / com / ibm / xml / framework / XMLReader.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  9.0 KB  |  154 lines

  1. package com.ibm.xml.framework;
  2.  
  3. import org.xml.sax.Locator;
  4.  
  5. public abstract class XMLReader implements Locator {
  6.    public static final int CHARDATA_RESULT_MARKUP = 1;
  7.    public static final int CHARDATA_RESULT_REFERENCE = 2;
  8.    public static final int CHARDATA_RESULT_CDEND = 3;
  9.    public static final int CHARDATA_RESULT_INVALID_CHAR = 4;
  10.    public static final int CHARDATA_RESULT_STATE_MASK = 7;
  11.    public static final int CHARDATA_RESULT_CHARDATA = 8;
  12.    public static final int CHARDATA_RESULT_ALL_SPACE = 16;
  13.    protected ParserState fParserState;
  14.    protected String fPublicId;
  15.    protected String fSystemId;
  16.    protected int fCarriageReturnCounter = 1;
  17.    protected int fLinefeedCounter = 1;
  18.    protected int fCharacterCounter = 1;
  19.    protected int fCurrentOffset;
  20.    protected static final byte[] fgAsciiXDigitChar = new byte[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  21.    protected static final byte[] fgAsciiAlphaChar = new byte[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0};
  22.    protected static final byte[] fgAsciiInitialNameChar = new byte[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0};
  23.    protected static final byte[] fgAsciiNameChar = new byte[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0};
  24.    protected static final byte[] fgAsciiCharData = new byte[]{4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  25.    protected static final byte[] fgAsciiWSCharData = new byte[]{4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  26.    protected static final byte E_VersionNumFlag = 1;
  27.    protected static final byte E_EncNameFlag = 2;
  28.    protected static final byte E_PubidCharFlag = 4;
  29.    protected static final byte E_CharDataFlag = 8;
  30.    protected static final byte E_InitialNameCharFlag = 16;
  31.    protected static final byte E_NameCharFlag = 32;
  32.    protected static byte[] fgCharFlags = null;
  33.    private static final char[] fgVersionNumRanges = new char[]{'-', '.', '0', ':', 'A', 'F', 'a', 'f', '\u0000', '_', '\u0000'};
  34.    private static final char[] fgEncNameRanges = new char[]{'-', '.', '0', '9', 'A', 'Z', 'a', 'z', '\u0000', '_', '\u0000'};
  35.    private static final char[] fgPubidCharRanges = new char[]{' ', '!', '#', '%', '\'', ';', '?', 'Z', 'a', 'z', '\u0000', '=', '_', '\u0000'};
  36.    private static final char[] fgCharDataRanges = new char[]{' ', '%', '\'', ';', '=', '\\', '^', '\ud7ff', '\ue000', 'ÔøΩ', '\u0000', '\t', '\u0000'};
  37.    private static final char[] fgInitialNameCharRanges = new char[]{'A', 'Z', 'a', 'z', '√Ä', '√ñ', '√ò', '√∂', '√∏', 'ƒ±', 'ƒ¥', 'ƒæ', '≈Å', '≈à', '≈ä', '≈æ', 'ΔÄ', '«É', '«ç', '«∞', '«¥', '«µ', '«∫', '»ó', '…ê', ' ®', ' ª', 'ÀÅ', 'Œà', 'Œä', 'Œé', 'Œ°', 'Œ£', 'œé', 'œê', 'œñ', 'œ¢', 'œ≥', '–Å', '–å', '–é', '—è', '—ë', '—ú', '—û', '“Å', '“ê', '”Ñ', '”á', '”à', '”ã', '”å', '”ê', '”´', '”Æ', '”µ', '”∏', '”π', '‘±', '’ñ', '’°', '÷Ü', '◊ê', '◊™', '◊∞', '◊≤', 'ÿ°', 'ÿ∫', 'ŸÅ', 'Ÿä', 'Ÿ±', '⁄∑', '⁄∫', '⁄æ', '€Ä', '€é', '€ê', '€ì', '€•', '€¶', '‡§Ö', '‡§π', '‡•ò', '‡•°', '‡¶Ö', '‡¶å', '‡¶è', '‡¶ê', '‡¶ì', '‡¶®', '‡¶™', '‡¶∞', '‡¶∂', '‡¶π', '‡ßú', '‡ßù', '‡ßü', '‡ß°', '‡ß∞', '‡ß±', '‡®Ö', '‡®ä', '‡®è', '‡®ê', '‡®ì', '‡®®', '‡®™', '‡®∞', '‡®≤', '‡®≥', '‡®µ', '‡®∂', '‡®∏', '‡®π', '‡©ô', '‡©ú', '‡©≤', '‡©¥', '‡™Ö', '‡™ã', '‡™è', '‡™ë', '‡™ì', '‡™®', '‡™™', '‡™∞', '‡™≤', '‡™≥', '‡™µ', '‡™π', '‡¨Ö', '‡¨å', '‡¨è', '‡¨ê', '‡¨ì', '‡¨®', '‡¨™', '‡¨∞', '‡¨≤', '‡¨≥', '‡¨∂', '‡¨π', '‡≠ú', '‡≠ù', '‡≠ü', '‡≠°', '‡ÆÖ', '‡Æä', '‡Æé', '‡Æê', '‡Æí', '‡Æï', '‡Æô', '‡Æö', '‡Æû', '‡Æü', '‡Æ£', '‡Æ§', '‡Æ®', '‡Æ™', '‡ÆÆ', '‡Æµ', '‡Æ∑', '‡Æπ', '‡∞Ö', '‡∞å', '‡∞é', '‡∞ê', '‡∞í', '‡∞®', '‡∞™', '‡∞≥', '‡∞µ', '‡∞π', '‡±†', '‡±°', '‡≤Ö', '‡≤å', '‡≤é', '‡≤ê', '‡≤í', '‡≤®', '‡≤™', '‡≤≥', '‡≤µ', '‡≤π', '‡≥†', '‡≥°', '‡¥Ö', '‡¥å', '‡¥é', '‡¥ê', '‡¥í', '‡¥®', '‡¥™', '‡¥π', '‡µ†', '‡µ°', '‡∏Å', '‡∏Æ', '‡∏≤', '‡∏≥', '‡πÄ', '‡πÖ', '‡∫Å', '‡∫Ç', '‡∫á', '‡∫à', '‡∫î', '‡∫ó', '‡∫ô', '‡∫ü', '‡∫°', '‡∫£', '‡∫™', '‡∫´', '‡∫≠', '‡∫Æ', '‡∫≤', '‡∫≥', '‡ªÄ', '‡ªÑ', '‡ΩÄ', '‡Ωá', '‡Ωâ', '‡Ω©', '·Ç†', '·ÉÖ', '·Éê', '·É∂', '·ÑÇ', '·ÑÉ', '·ÑÖ', '·Ñá', '·Ñã', '·Ñå', '·Ñé', '·Ñí', '·Öî', '·Öï', '·Öü', '·Ö°', '·Ö≠', '·ÖÆ', '·Ö≤', '·Ö≥', '·ÜÆ', '·ÜØ', '·Ü∑', '·Ü∏', '·Üº', '·áÇ', '·∏Ä', '·∫õ', '·∫†', '·ªπ', '·ºÄ', '·ºï', '·ºò', '·ºù', '·º†', '·ΩÖ', '·Ωà', '·Ωç', '·Ωê', '·Ωó', '·Ωü', '·ΩΩ', '·æÄ', '·æ¥', '·æ∂', '·æº', '·øÇ', '·øÑ', '·øÜ', '·øå', '·øê', '·øì', '·øñ', '·øõ', '·ø†', '·ø¨', '·ø≤', '·ø¥', '·ø∂', '·øº', '‚Ñ™', '‚Ñ´', '‚ÜÄ', '‚ÜÇ', '„ÅÅ', '„Çî', '„ǰ', '„É∫', '„ÑÖ', '„Ѩ', 'Í∞Ä', 'Ìû£', '„İ', '„Ä©', '‰∏Ä', 'Èæ•', '\u0000', ':', '_', 'ŒÜ', 'Œå', 'œö', 'œú', 'œû', 'œ†', '’ô', '€ï', '‡§Ω', '‡¶≤', '‡©û', '‡™ç', '‡™Ω', '‡´†', '‡¨Ω', '‡Æú', '‡≥û', '‡∏∞', '‡∫Ñ', '‡∫ä', '‡∫ç', '‡∫•', '‡∫ß', '‡∫∞', '‡∫Ω', '·ÑÄ', '·Ñâ', '·Ñº', '·Ñæ', '·ÖÄ', '·Öå', '·Öé', '·Öê', '·Öô', '·Ö£', '·Ö•', '·Öß', '·Ö©', '·Öµ', '·Üû', '·Ü®', '·Ü´', '·Ü∫', '·á´', '·á∞', '·áπ', '·Ωô', '·Ωõ', '·Ωù', '·ææ', '‚Ѷ', '‚ÑÆ', '„Äá', '\u0000'};
  38.    private static final char[] fgNameCharRanges = new char[]{'-', '.', 'ÃÄ', 'ÕÖ', 'Õ†', 'Õ°', '“É', '“Ü', '÷ë', '÷°', '÷£', '÷π', '÷ª', '÷Ω', '◊Å', '◊Ç', 'Ÿã', 'Ÿí', '€ñ', '€ú', '\u06dd', '€ü', '€†', '€§', '€ß', '€®', '€™', '€≠', '‡§Å', '‡§É', '‡§æ', '‡•å', '‡•ë', '‡•î', '‡•¢', '‡•£', '‡¶Å', '‡¶É', '‡ßÄ', '‡ßÑ', '‡ßá', '‡ßà', '‡ßã', '‡ßç', '‡ß¢', '‡ß£', '‡©Ä', '‡©Ç', '‡©á', '‡©à', '‡©ã', '‡©ç', '‡©∞', '‡©±', '‡™Å', '‡™É', '‡™æ', '‡´Ö', '‡´á', '‡´â', '‡´ã', '‡´ç', '‡¨Å', '‡¨É', '‡¨æ', '‡≠É', '‡≠á', '‡≠à', '‡≠ã', '‡≠ç', '‡≠ñ', '‡≠ó', '‡ÆÇ', '‡ÆÉ', '‡Ææ', '‡ØÇ', '‡ØÜ', '‡Øà', '‡Øä', '‡Øç', '‡∞Å', '‡∞É', '‡∞æ', '‡±Ñ', '‡±Ü', '‡±à', '‡±ä', '‡±ç', '‡±ï', '‡±ñ', '‡≤Ç', '‡≤É', '‡≤æ', '‡≥Ñ', '‡≥Ü', '‡≥à', '‡≥ä', '‡≥ç', '‡≥ï', '‡≥ñ', '‡¥Ç', '‡¥É', '‡¥æ', '‡µÉ', '‡µÜ', '‡µà', '‡µä', '‡µç', '‡∏¥', '‡∏∫', '‡πá', '‡πé', '‡∫¥', '‡∫π', '‡∫ª', '‡∫º', '‡ªà', '‡ªç', '‡ºò', '‡ºô', '‡Ω±', '‡æÑ', '‡æÜ', '‡æã', '‡æê', '‡æï', '‡æô', '‡æ≠', '‡æ±', '‡æ∑', '‚Éê', '‚Éú', '„Ä™', '„ÄØ', '0', '9', 'Ÿ†', 'Ÿ©', '€∞', '€π', '‡•¶', '‡•Ø', '‡ß¶', '‡ßØ', '‡©¶', '‡©Ø', '‡´¶', '‡´Ø', '‡≠¶', '‡≠Ø', '‡Øß', '‡ØØ', '‡±¶', '‡±Ø', '‡≥¶', '‡≥Ø', '‡µ¶', '‡µØ', '‡πê', '‡πô', '‡ªê', '‡ªô', '‡º†', '‡º©', '„ı', '„ĵ', '„Çù', '„Çû', '„ɺ', '„Éæ', '\u0000', '÷ø', '◊Ñ', 'Ÿ∞', '‡§º', '‡•ç', '‡¶º', '‡¶æ', '‡¶ø', '‡ßó', '‡®Ç', '‡®º', '‡®æ', '‡®ø', '‡™º', '‡¨º', '‡Øó', '‡µó', '‡∏±', '‡∫±', '‡ºµ', '‡º∑', '‡ºπ', '‡ºæ', '‡ºø', '‡æó', '‡æπ', '‚ɰ', '„Çô', '„Çö', '¬∑', 'Àê', 'Àë', 'Œá', 'ŸÄ', '‡πÜ', '‡ªÜ', '„ÄÖ', '\u0000'};
  39.  
  40.    protected XMLReader(ParserState var1, String var2, String var3) {
  41.       this.fParserState = var1;
  42.       this.fPublicId = var2;
  43.       this.fSystemId = var3;
  44.       initCharFlags();
  45.    }
  46.  
  47.    public String getPublicId() {
  48.       return this.fPublicId;
  49.    }
  50.  
  51.    public String getSystemId() {
  52.       return this.fSystemId;
  53.    }
  54.  
  55.    public int getLineNumber() {
  56.       return this.fLinefeedCounter > 1 ? this.fLinefeedCounter : this.fCarriageReturnCounter;
  57.    }
  58.  
  59.    public int getColumnNumber() {
  60.       return this.fCharacterCounter;
  61.    }
  62.  
  63.    public abstract int addString(int var1, int var2);
  64.  
  65.    public abstract int addSymbol(int var1, int var2);
  66.  
  67.    public abstract void append(ChunkyCharArray var1, int var2, int var3);
  68.  
  69.    public abstract int skipOneChar() throws Exception;
  70.  
  71.    public abstract int skipAsciiChar() throws Exception;
  72.  
  73.    public abstract int skipToChar(char var1) throws Exception;
  74.  
  75.    public abstract int skipPastChar(char var1) throws Exception;
  76.  
  77.    public abstract boolean skippedValidChar() throws Exception;
  78.  
  79.    public abstract boolean lookingAtValidChar() throws Exception;
  80.  
  81.    public abstract int skipInvalidChar(int var1) throws Exception;
  82.  
  83.    public abstract boolean skippedChar(char var1) throws Exception;
  84.  
  85.    public abstract boolean lookingAtChar(char var1) throws Exception;
  86.  
  87.    public abstract boolean skippedSpace() throws Exception;
  88.  
  89.    public abstract boolean lookingAtSpace() throws Exception;
  90.  
  91.    public abstract int skipPastSpaces() throws Exception;
  92.  
  93.    public abstract int skipDecimalDigit() throws Exception;
  94.  
  95.    public abstract int skipHexDigit() throws Exception;
  96.  
  97.    public abstract boolean skippedAlpha() throws Exception;
  98.  
  99.    public abstract boolean skippedVersionNum() throws Exception;
  100.  
  101.    public abstract boolean skippedEncName() throws Exception;
  102.  
  103.    public abstract boolean skippedPubidChar() throws Exception;
  104.  
  105.    public abstract boolean skippedString(char[] var1) throws Exception;
  106.  
  107.    public abstract int scanName(char var1, int var2) throws Exception;
  108.  
  109.    public abstract int skipPastName(char var1) throws Exception;
  110.  
  111.    public abstract int skipPastNmtoken(char var1) throws Exception;
  112.  
  113.    public abstract int scanContent(ScanContentState var1) throws Exception;
  114.  
  115.    public final int currentOffset() {
  116.       return this.fCurrentOffset;
  117.    }
  118.  
  119.    private static synchronized void initCharFlags() {
  120.       if (fgCharFlags == null) {
  121.          fgCharFlags = new byte[65536];
  122.          setFlagForRange(fgVersionNumRanges, (byte)1);
  123.          setFlagForRange(fgEncNameRanges, (byte)2);
  124.          setFlagForRange(fgPubidCharRanges, (byte)4);
  125.          setFlagForRange(fgCharDataRanges, (byte)8);
  126.          setFlagForRange(fgInitialNameCharRanges, (byte)48);
  127.          setFlagForRange(fgNameCharRanges, (byte)32);
  128.       }
  129.  
  130.    }
  131.  
  132.    private static void setFlagForRange(char[] var0, byte var1) {
  133.       int var2;
  134.       int var3;
  135.       byte[] var10000;
  136.       int var10001;
  137.       for(var2 = 0; (var3 = var0[var2]) != 0; var2 += 2) {
  138.          for(char var4 = var0[var2 + 1]; var3 <= var4; var10000[var10001] |= var1) {
  139.             var10000 = fgCharFlags;
  140.             var10001 = var3++;
  141.          }
  142.       }
  143.  
  144.       ++var2;
  145.  
  146.       while((var3 = var0[var2]) != 0) {
  147.          var10000 = fgCharFlags;
  148.          var10000[var3] |= var1;
  149.          ++var2;
  150.       }
  151.  
  152.    }
  153. }
  154.